You are here: Symbol Reference > Dew Namespace > Dew.Stats Namespace > Dew.Stats.Units Namespace > Classes > Regress Class > Regress Methods > PCRegress Method > Regress.PCRegress Method ([In] TVec, [In] TMtx, [In] TVec, [In] TVec, [In] TVec, int)
Dew Stats for .NET
ContentsIndexHome
PreviousUpNext
Regress.PCRegress Method ([In] TVec, [In] TMtx, [In] TVec, [In] TVec, [In] TVec, int)

Principal Component Regression.

Syntax
C#
Visual Basic
public static void PCRegress([In] TVec Y, [In] TMtx A, [In] TVec b, [In] TVec YCalc, [In] TVec Bse, int NumOmmit);
Parameters 
Description 
[In] TVec Y 
Defines vector of dependant variable. 
[In] TMtx A 
Defines matrix of independant variables. 
[In] TVec b 
Returns calculated regression coefficiens. 
[In] TVec YCalc 
Returns vector of calculated dependant variable, where YCalc = A*b + constant term. 
[In] TVec Bse 
Returns principal component b coefficient standard error. 
int NumOmmit 
Defines the number of variables to ommit from initial model. 

Performs unweighted Principal Component Regression (PCR). PCR is a technique for analyzing multiple regression data that suffer from multicollinearity. When multicollinearity occurs, least squares estimates are unbiased, but their variances are large so they may be far from the true value. By adding a degree of bias to the regression estimates, principal components regression reduces the standard errors. The algorithm first standardizes A matrix and performs PC regression on standardized matrix.

using Dew.Math; using Dew.Stats.Units; using Dew.Stats; namespace Dew.Examples { private void Example() { Matrix A = new Matrix(0,0); Matrix ATA = new Matrix(0,0); Vector y = new Vector(0); Vector ycalc = new Vector(0); Vector b = new Vector(0); Vector error = new Vector(0); double mse; // Load data A.SetIt(18,3,false, new double[] {1, 2, 1, 2, 4, 2, 3, 6, 4, 4, 7, 3, 5, 7, 2, 6, 7, 1, 7, 8, 1, 8, 10, 2, 9, 12, 4, 10, 13, 3, 11, 13, 2, 12, 13, 1, 13, 14, 1, 14, 16, 2, 15, 18, 4, 16, 19, 3, 17, 19, 2, 18, 19, 1}); Y.SetIt(false, new double[] {3,9,11,15,13,13,17,21,25,27,25,27,29,33,35,37,37,39}); // Perform Principal Component Regression Regress.PCRegress(y,A,b,ycalc,null,1); // Errors error.Sub(ycalc,y); } }
Copyright (c) 1999-2024 by Dew Research. All rights reserved.
What do you think about this topic? Send feedback!